﻿$(function () {
    //loadTable();
    $('#repayment').window({
        onBeforeClose: loadTable
    });
});
// 获取所有企业帐号
function loadTable() {
    $('#views').datagrid({
        iconCls: 'icon-user', // 
        loadMsg: '数据加载中...', // String / 当从远程站点加载数据时，显示的提示消息
        nowrap: true, // boolean / 设置为 true，则把数据显示在一行里。设置为 true 可提高加载性能。
        autoRowHeight: true, // boolean / 定义是否设置基于该行内容的行高度。设置为 false，则可以提高加载性能
        striped: true, // boolean / 设置为 true，则把行条纹化。（即奇偶行使用不同背景色）
        url: '/OrganizationRepayment/getOrgForm', // 指向一个一般处理程序或者一个控制器，返回数据要求是Json格式
        sortName: 'OrgID', // String / 定义可以排序的列
        sortOrder: 'asc', // String / 定义列的排序顺序，只能用 'asc' 或 'desc'
        border: true, // boolean / 是否显示表格边框
        remoteSort: false, // boolean / 是否从服务器排序数据
        idField: 'OrgID', // String / 指示哪个字段是标识字段
        pageSize: 10, // 10，20，30，40，50 初始化页面大小
        singleSelect: true, // boolean / 设置为 true，则只允许选中一行，false可多选
        pagination: true, // boolean / 显示下端的分页工具
        rownumbers: true, // boolean / 显示行数 最左边
        // array / 数据网格（datagrid）的列（column）的配置对象
        // sortable - 设置为 true，则允许该列被排序
        // hidden - 设置为 true，则隐藏该列
        columns: [[
            { field: 'OrgID', title: '企业账户ID', sortable: true, align: 'center' },
            { field: 'OrgName', title: '账户名称', sortable: true, align: 'center' },
            { field: 'OrgPerson', title: "账户负责人", sortable: true, align: 'center', },
            { field: 'OrgPhone', title: "账户联系电话", sortable: true, align: 'center' },
            { field: 'OrgAddress', title: "账户联系地址", sortable: true, align: 'center' },
            {
                field: 'OrgWaltLimit', title: "账户额度（元）", align: 'center', sortable: true, formatter: function (value, row, index) {
                    //return "ok";
                    return value / 100;
                }
            },
            {
                field: 'OrgWaltBalance', title: "可用额度（元）", align: 'center', sortable: true, formatter: function (value, row, index) {
                    return value / 100;
                }
            },
            { field: 'OrgWaltLastTime', title: "最后修改时间", sortable: true, align: 'center', },
            { field: 'OperNum', title: "最后修改人", sortable: true, align: 'center' },
            {
                field: 'OrgID2', title: '操作', width: 100, sortable: true, align: 'center', formatter: function (value, row, index) {
                    return '<a href="#" onclick="repayment(' + row.OrgID + ', \'' + row.OrgMers + '\')">结账</a>';
                }
            },
        ]],
        toolbar: '#tb'
    });
}

// 查询企业帐号
function Search() {
    var OrgName = $('#OrgName2').val();
    var OrgPerson = $('#OrgPerson2').textbox('getValue');
    var OrgPhone = $('#OrgPhone2').val();
    if (OrgName != "" || OrgPerson != "" || OrgPhone != "") {
        $('#views').datagrid({
            iconCls: 'icon-user', // 
            loadMsg: '数据加载中...', // String / 当从远程站点加载数据时，显示的提示消息
            nowrap: true, // boolean / 设置为 true，则把数据显示在一行里。设置为 true 可提高加载性能。
            autoRowHeight: true, // boolean / 定义是否设置基于该行内容的行高度。设置为 false，则可以提高加载性能
            striped: true, // boolean / 设置为 true，则把行条纹化。（即奇偶行使用不同背景色）
            url: '/OrganizationRepayment/SearchMer?OrgName=' + OrgName + "&OrgPerson=" + OrgPerson + "&OrgPhone=" + OrgPhone,
            sortName: 'OrgID', // String / 定义可以排序的列
            sortOrder: 'asc', // String / 定义列的排序顺序，只能用 'asc' 或 'desc'
            border: true, // boolean / 是否显示表格边框
            remoteSort: false, // boolean / 是否从服务器排序数据
            idField: 'OrgID', // String / 指示哪个字段是标识字段
            pageSize: 10, // 10，20，30，40，50 初始化页面大小
            singleSelect: true, // boolean / 设置为 true，则只允许选中一行，false可多选
            pagination: true, // boolean / 显示下端的分页工具
            rownumbers: true, // boolean / 显示行数 最左边
            // array / 数据网格（datagrid）的列（column）的配置对象
            // sortable - 设置为 true，则允许该列被排序
            // hidden - 设置为 true，则隐藏该列
            columns: [[
                { field: 'OrgID', title: '企业账户ID', sortable: true, align: 'center' },
                { field: 'OrgName', title: '账户名称', sortable: true, align: 'center' },
                { field: 'OrgPerson', title: "账户负责人", sortable: true, align: 'center', },
                { field: 'OrgPhone', title: "账户联系电话", sortable: true, align: 'center' },
                { field: 'OrgAddress', title: "账户联系地址", sortable: true, align: 'center' },
                {
                    field: 'OrgWaltLimit', title: "账户额度（元）", align: 'center', sortable: true, formatter: function (value, row, index) {
                        //return "ok";
                        return value / 100;
                    }
                },
                {
                    field: 'OrgWaltBalance', title: "可用额度（元）", align: 'center', sortable: true, formatter: function (value, row, index) {
                        return value / 100;
                    }
                },
                { field: 'OrgWaltLastTime', title: "最后修改时间", sortable: true, align: 'center', },
                { field: 'OperNum', title: "最后修改人", sortable: true, align: 'center' },
                {
                    field: 'OrgID2', title: '操作', width: 100, sortable: true, align: 'center', formatter: function (value, row, index) {
                        return '<a href="#" onclick="repayment(' + row.OrgID + ', \'' + row.OrgMers + '\')">结账</a>';
                    }
                },
            ]],
            toolbar: '#tb'
        });
    }
}

// 打开窗口、企业帐号商户集合
function repayment(OrgID, OrgMers) {
    $('#OrgID').text(OrgID);
    $.get("/OrganizationRepayment/ShowMerByID?OrgID=" + OrgID + "&OrgMers=" + OrgMers, function (database) {
        $('#OrgMers').combobox({
            valueField: 'MerID',
            textField: 'MerName',
            data: database,
            multiple: false
        });
    })
    $('#repayment').window('open');
    Eliminate();

    //orgID = OrgID；
    //orgMers = OrgMers；
}

// 查询流水
function RepaySearch() {
    //验证所有的文本框是否通过用户的验证
    var valid = $('#ff').form('validate');
    if (valid == false) {
        return false;
    }
    var StartTime = $('#StartTime').datebox('getValue');
    var EndTime = $('#EndTime').datebox('getValue');
    var mer = $('#OrgMers').combobox('getValue');
    orgID = $('#OrgID').text();
    //var postData = {
    //    Mer: mer,
    //    OrgID: orgID,
    //    StartTime: StartTime
    //};
    $('#load').datagrid({
        iconCls: 'icon-user', // 
        loadMsg: '数据加载中...', // String / 当从远程站点加载数据时，显示的提示消息
        nowrap: true, // boolean / 设置为 true，则把数据显示在一行里。设置为 true 可提高加载性能。
        autoRowHeight: true, // boolean / 定义是否设置基于该行内容的行高度。设置为 false，则可以提高加载性能
        striped: true, // boolean / 设置为 true，则把行条纹化。（即奇偶行使用不同背景色）
        url: '/OrganizationRepayment/Org_Repay?Mer=' + mer + "&OrgID=" + orgID + "&StartTime=" + StartTime + "&EndTime=" + EndTime, // 指向一个一般处理程序或者一个控制器，返回数据要求是Json格式
        sortName: 'FlowOrgID', // String / 定义可以排序的列
        sortOrder: 'asc', // String / 定义列的排序顺序，只能用 'asc' 或 'desc'
        border: true, // boolean / 是否显示表格边框
        remoteSort: false, // boolean / 是否从服务器排序数据
        idField: 'FlowOrgID', // String / 指示哪个字段是标识字段
        pageSize: 10, // 10，20，30，40，50 初始化页面大小
        singleSelect: false, // boolean / 设置为 true，则只允许选中一行，false可多选
        pagination: true, // boolean / 显示下端的分页工具
        rownumbers: true, // boolean / 显示行数 最左边
        checkOnSelect: true,
        columns: [[
         { field: 'IsCheck', title: '是否选择', width: 50, align: 'center', checkbox: true },
         { field: 'FlowOrgID', title: '流水编号', sortable: true, align: 'center' },
         { field: 'OrgName', title: '企业账户', sortable: true, align: 'center' },
         { field: 'DictName', title: '流水类型', sortable: true, align: 'center' },
         {
             field: 'OrgBeforeLimit', title: '发生前账户额度(元)', sortable: true, align: 'center', formatter: function (value, row, index) {
                 return value / 100;
             }
         },
         {
             field: 'OrgRepayAmount', title: '本次金额变更(元)', sortable: true, align: 'center', formatter: function (value, row, index) {
                 return value / 100;
             }
         },
         {
             field: 'OrgAfterLimit', title: '发生后账户额度(元)', sortable: true, align: 'center', formatter: function (value, row, index) {
                 return value / 100;
             }
         },
         { field: 'OrgFormID', title: '订单编号', sortable: true, align: 'center' },
         { field: 'MerName', title: '商户', sortable: true, align: 'center' },
         { field: 'OrgFlowTime', title: '发生时间', sortable: true, align: 'center' },
         { field: 'OperNum', title: '经办人', sortable: true, align: 'center' },
         {
             field: 'Flat', title: '是否已结账', align: 'center', formatter: function (val, rowdata, index) {
                 if (val == 0) {
                     return "未结账";
                 }
                 else {
                     return " 已结账";
                 }
             }

         },
         { field: 'BZ', title: '备注', sortable: true, align: 'center' },
        ]]
    });
    //$.get("/OrganizationRepayment/getDebt").success(function (debt) {
    //    //alert("debt=" + debt);
    //    var d = debt / 100;
    //    //alert("d="+d);
    //    $("#repay").textbox('setValue', d.toString());
    //    //alert(1);
    //});
    //$.post("/OrganizationRepayment/Org_Repay", postData).success(function (resp) {
    //    $("#repay").textbox('setValue', resp);
    //    console.log(resp);
    //});

    //$('#load').datagrid({
    //    url: '/OrganizationRepayment/Org_Repay?Mer=' + mer + "&OrgID=" + orgID + "&Time=" + time,
    //    });
}

// 平账
function repay() {
    var objs = $('#load').datagrid("getChecked");
    if (objs.length < 1) {
        $.messager.alert("友情提示", "请选择需要结账的流水，你已经选择了<font color='red' size='6'>" + objs.length + "</font>行", "info");
    }
    else
    {
        var FlowOrgID = "";
        var OrgRepayAmount = 0;
        $.each(objs, function (index, item) {
            FlowOrgID = FlowOrgID + "," + item.FlowOrgID;
            OrgRepayAmount = OrgRepayAmount + Math.abs(Number(item.OrgRepayAmount));
        });
        $.messager.confirm("友情提示", "是否确认本次结账<br/>账目条数：<font color='red' size='20'>" + objs.length + "</font><br/>总金额：<font color='red' size='20'>" + OrgRepayAmount / 100 + "</font>（元）", function (Del) {
            if (Del) {
                $.post('/OrganizationRepayment/repay?Data=' + FlowOrgID).success(function (resp) {
                    if (resp == "1") {
                        $.messager.alert("友情提示", "结账成功");
                        RepaySearch();
                        //$('#repayment').window('close');//关闭弹窗
                        //loadTable();
                    }
                    else {
                        $.messager.alert("友情提示", "结账失败", "info");
                    }
                }).error(function (resp) { console.log(resp); });
            }
        });
    }
    //var StartTime = $('#StartTime').datebox('getValue');
    //var mer = $('#OrgMers').combobox('getValue');
    //orgID = $('#OrgID').text();
    //var Paid = ($('#repay1').textbox('getValue')) * 100;
    //alert(StartTime);
    //alert(mer);
    //alert(orgID);
    //alert(Paid);

    //$.messager.confirm("友情提示", "是否确认本次平账", function (Del) {
    //    if (Del) {
    //        $.post('/OrganizationRepayment/repay?MerID=' + mer + "&OrgID=" + orgID + "&StartTime=" + StartTime + "&Paid=" + Paid).success(function (resp) {
    //            if (resp == "1") {
    //                $.messager.alert("友情提示", "平账成功");
    //                $('#repayment').window('close');//关闭弹窗
    //                loadTable();
    //            }
    //            else {
    //                $.messager.alert("友情提示", "平账失败", "info");
    //            }
    //        }).error(function (resp) { console.log(resp); });
    //    }
    //});

    //$.post('/OrganizationRepayment/repay?MerID=' + mer + "&OrgID=" + orgID + "&Time=" + time + "&Paid=" + Paid).success(function (resp) {
    //    if (resp == "1") {
    //        $.messager.alert("友情提示", "平账成功");
    //        $('#repayment').window('close');//关闭弹窗
    //        loadingTable();
    //    }
    //    else {
    //        $.messager.alert("友情提示", "平账失败", "info");
    //    }
    //}).error(function (resp) { console.log(resp); });
}

// 清除平账框input中的数据
function Eliminate() {
    
    $('#StartTime').datebox('setValue', "");
    $('#EndTime').datebox('setValue', "");
    $('#OrgMers').textbox('setValue', "");
    $('#repay').textbox('setValue', "");
    $('#repay1').textbox('setValue', "");
    $('#load').datagrid({
        iconCls: 'icon-user', // 
        loadMsg: '数据加载中...', // String / 当从远程站点加载数据时，显示的提示消息
        nowrap: true, // boolean / 设置为 true，则把数据显示在一行里。设置为 true 可提高加载性能。
        autoRowHeight: true, // boolean / 定义是否设置基于该行内容的行高度。设置为 false，则可以提高加载性能
        striped: true, // boolean / 设置为 true，则把行条纹化。（即奇偶行使用不同背景色）
        url: '/OrganizationRepayment/repayment', // 指向一个一般处理程序或者一个控制器，返回数据要求是Json格式
        sortName: 'FlowOrgID', // String / 定义可以排序的列
        sortOrder: 'asc', // String / 定义列的排序顺序，只能用 'asc' 或 'desc'
        border: true, // boolean / 是否显示表格边框
        remoteSort: false, // boolean / 是否从服务器排序数据
        idField: 'FlowOrgID', // String / 指示哪个字段是标识字段
        pageSize: 10, // 10，20，30，40，50 初始化页面大小
        singleSelect: true, // boolean / 设置为 true，则只允许选中一行，false可多选
        pagination: true, // boolean / 显示下端的分页工具
        rownumbers: true, // boolean / 显示行数 最左边
        columns: [[
         { field: 'FlowOrgID', title: '流水编号', sortable: true, align: 'center' },
         { field: 'OrgID', title: '企业账户编号', sortable: true, align: 'center' },
         { field: 'OrgFlowType', title: '流水类型编号', sortable: true, align: 'center' },
         { field: 'OrgBeforeLimit', title: '发生前账户额度(元)', sortable: true, align: 'center' },
         {
             field: 'OrgRepayAmount', title: '本次金额变更(元)', sortable: true, align: 'center', formatter: function (value, row, index) {
                 return value / 100;
             }
         },
         {
             field: 'OrgAfterLimit', title: '发生后账户额度(元)', sortable: true, align: 'center', formatter: function (value, row, index) {
                 return value / 100;
             }
         },
         { field: 'OrgFormID', title: '订单编号', sortable: true, align: 'center' },
         { field: 'MerID', title: '商户编号', sortable: true, align: 'center' },
         { field: 'OrgFlowTime', title: '发生时间', sortable: true, align: 'center' },
         { field: 'OrgFlowOper', title: '经办人', sortable: true, align: 'center' },
         { field: 'BZ', title: '备注', sortable: true, align: 'center' },
        ]]
    });
    $('#load').datagrid("clearChecked");
}

// 清除搜索框内容
function qingchu() {
    loadTable();
    $('#OrgName2').textbox('setValue', "");
    $('#OrgPerson2').textbox('setValue', "");
    $('#OrgPhone2').textbox('setValue', "");
}